home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 2
/
Merciful - Disc 2.iso
/
software
/
m
/
maxonc++2.dms
/
maxonc++2.adf
/
MCPLibs.lha
/
nostartup.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-08
|
1KB
|
41 lines
// nostartup.c - Demo für Linken ohne Startup-Code
//
// Jens Gelhar 08.06.92
//
// Compileraufruf: cppc nostartup.c -gs
// bzw. "Ohne Startup" im M+Plus-Linker-Requester einstellen
#include <linkerfunc.h>
#include <stream.h>
// Die erste Funktion im ersten Hunk wird angesprungen:
void f(register __d0 int len, register __a0 char *par)
// In Registern d0 und a0 werden die Shell-Parameter übergeben
// Diese Register-Belegungen bremsen die Funktion übrigens gut aus,
// deshalb sollte man in dieser Funktion nicht mehr als nötig tun.
{
// Wichtig, wenn Small Data-Hunks existieren, und sonst auch
// nicht verkehrt:
GetBaseReg();
// Initialisierungen, z. B. Dos-Lib öffnen:
InitModules();
par[len-1]=0; // Normalerweise kein Nullbyte am Ende
// Jetzt geht alles wie immer:
cout << "Es geht auch ohne Startup-Code!"
<< "\nParameter-Länge: " << len
<< "\nParameter: " << par
<< "\n";
// Programmende: Aufräumen, z. B. DosLibrary schließen:
CleanupModules();
// "exit()" darf ohne Startup-Code nicht benutzt werden!!!
// Es ist nur so ein sinnvoller Return-Code möglich:
len = 42;
}